package sm.upgrade.api;

import sm.upgrade.exception.UpgradeException;

public interface DataUpgrade {

	/**
	 * upgrade a single file
	 * 
	 * @param fileName
	 */
	public void upgradeData(String fileName) throws UpgradeException;

	public void show2wayConflict(String fileName) throws UpgradeException;

	public void show3wayConflict(String fileName) throws UpgradeException;

	/**
	 * upgrade the whole db
	 */
	public void upgradeData();

	/**
	 * compare the customer and upgrade data, show conflict
	 * 
	 * @throws UpgradeException
	 */
	public void show2wayConflict() throws UpgradeException;

	/**
	 * compare the base,customer,upgrade data, show conflict
	 * 
	 * @throws UpgradeException
	 */
	public void show3wayConflict() throws UpgradeException;
}
